#******************************************************************************
#  Filename     :  Makefile

#******************************************************************************


#*****************************************************************************
# List of suffixes
#*****************************************************************************

.SUFFIXES:
.SUFFIXES:  .asm .c .o .lib .a
	

#*****************************************************************************
# Local Source File Directories
#*****************************************************************************

INC_DIR  = inc
SRC_DIR  = src
OBJ_DIR  = build
LIB_DIR  = lib
SUB_DIRS = $(OBJ_DIR)
BUILDLOG = $(strip $(OBJ_DIR))\build.log
BIN_DIR  = .

#*****************************************************************************
# Include path define
#*****************************************************************************
C_INC   = -I. -I$(INC_DIR) -I./$(INC_DIR)/goome_sdk_inc -I./$(INC_DIR)/C_H

GM_DEF += -D__MTK__


#*****************************************************************************
# C Compile option
#*****************************************************************************
PREPROC_FLAGS = -m -n -i
#C_FLAGS       = -c -O2 -D__MTK__ --apcs /ropi/rwpi/interwork $(C_INC) -D_MAP_BROWSE_SUPPORT_ 
C_FLAGS       = -c -O2 ${GM_DEF} --apcs /ropi/rwpi/interwork $(C_INC) -D_MAP_BROWSE_SUPPORT_

#*****************************************************************************
# ASM Compile option
#*****************************************************************************
ASM_FLAGS = --32 -g --apcs /ropi/rwpi/interwork $(ASM_INC)


#*****************************************************************************
# LIB Compile option
#*****************************************************************************
LIB_FLAGS = -a

#*****************************************************************************
# LINK Compile option
#*****************************************************************************
LINK_FLAGS = -xref -remove -ropi -ro-base 0x8000 -rwpi -rw-base 0x1000000 -map -callgraph -symbols -info sizes,totals,unused -list


MAKEFILE = makefile



#*****************************************************************************
# Source File Definitions
#*****************************************************************************
LIB_OBJS_ASM  = $(LIB_SRCS_ASM:.s=.o)
LIB_OBJS_C    = $(LIB_SRCS_C:.c=.o)
Frame_OBJS_C := $(Frame_SRCS_DIR %.c,%.o,$(wildcard *.c))
#*****************************************************************************
# Generate objects files full path
#*****************************************************************************
LIB_OBJS = $(addprefix $(OBJ_DIR)/,$(LIB_OBJS_ASM))	$(addprefix $(OBJ_DIR)/,$(LIB_OBJS_C))
ALL_OBJS = $(addprefix $(OBJ_DIR)/,$(LIB_OBJS_ASM))	$(addprefix $(OBJ_DIR)/,$(LIB_OBJS_C))
#*****************************************************************************
# Generate source files full path
#*****************************************************************************
ALL_SRCS_C = $(addprefix $(SRC_DIR)/,$(LIB_SRCS_C))
	
#*****************************************************************************
# Object creation
#*****************************************************************************
	
$(OBJ_DIR)/%.o: $(LIB_DIR)/%.s
	$(ASM) $(ASM_FLAGS) $< $(OBJ_DIR)/$*.o 2>>.\$(BUILDLOG)

$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
	$(CC) $(C_FLAGS) $< -o $(OBJ_DIR)/$*.o 2>>.\$(BUILDLOG)

